<?php

/*-----------------------------------------------------------*\
|                 - Адмін панель -                            |
|                 Author:  Skalden Russell                    |
|                 Last modify: 20130103                       |
\*-----------------------------------------------------------*/

////// Початок нової сесії
session_start();

////// Встановлення кодування UTF-8
header('Content-Type: text/html; charset=utf-8');

// Показати помилки
@ini_set('display_errors', true );
@ini_set('error_reporting', E_ALL ^ E_NOTICE);

// MD5 SALT
define('MD5_SALT', 'TSUE');

// Безпека
define('TSUE_SEC', TRUE);

// Максимальна кількість спроб входу логін/пароль(antibrutforce)
define('TSUE_SEC_ABF', 20);

// Поточна директорія
define('TSUE_DIR', dirname(__FILE__));

// Встановити кодування
$CFG['charset'] = "utf-8";

// Локалізація
include_once( TSUE_DIR . '/data/language/ru_loc/ru_adminpanel.lng');
// Налаштування БД
include_once( TSUE_DIR . '/data/config.php');
// Клас SQL
include_once( TSUE_DIR . '/engine/database/cmysql.php');
// Загальні фунції
include_once( TSUE_DIR . '/engine/include/common.functions.php' );



//-------------------------------------------------------------
//                 Перевірка логіна та пароля
//-------------------------------------------------------------

if(isset($_POST['login_btn']) && ($_SESSION['login_attempt'] !== TSUE_SEC_ABF) && ($_SESSION['sec_code_session'] == trim($_POST['securitykey'])))
{
	$_POST['password'] = trim($_POST['password']);
	$_POST['username'] = trim($_POST['username']);
	
	$login_incorrect = TRUE;
	$login_error = "";
	$login_password = md5(md5($_POST['password']) . md5(MD5_SALT));
	
	// Перевірка на відповідність імені користувача
	if(preg_match("/^[a-zA-Z0-9]+$/", $_POST['username'])) 
	{
		$sql = new cMysql();
		$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
		$row = $sql->fetch_assoc("SELECT `username`,`password` FROM `". $SQL_CONF['pref'] ."user` WHERE `username`='". $_POST['username'] ."' AND `userid`='1' LIMIT 0, 1");
		
		$sql->close();
		
		// Перевірка LOGIN=LOGIN, PASS=PASS
		if( ($_POST['username'] == $row[0]['username']) && ( $login_password == $row[0]['password']) )
		{
			$login_incorrect = FALSE;
			$_SESSION['admin_loged'] = TRUE;

		}
	}
	

	if($login_incorrect === TRUE)
	{
		// Анти-брутфорс
		if( !isset($_SESSION['login_attempt']) )
		{
			$_SESSION['login_attempt'] = 1;
		}
		else
		{
			$_SESSION['login_attempt'] = $_SESSION['login_attempt'] + 1;
		}
		
		
		if( $_POST['username'] !== $row[0]['username'] )
		{
			$login_error .= $language['enter_incorrectlogin'] . '<br />';
		}
		
		if( $login_password !== $row[0]['password'] )
		{
			$login_error .= $language['enter_inforrectpass'] . '<br />';
		}
	} 
}

if(isset($_POST['login_btn']) && ($_SESSION['sec_code_session'] != trim($_POST['securitykey'])))
{
	$login_incorrect = TRUE;
	$login_error .= $language['enter_incorrectcaptcha'];
}

//-------------------------------------------------------------
//              Кінець перевірки логіна та пароля
//-------------------------------------------------------------


// Таблиці інформації
if( $_SESSION['admin_loged'] === TRUE )
{
	$info = array();
	$info['os_version'] = @php_uname( "s" ) . " " . @php_uname( "r" );
	$info['max_upload'] = str_replace( array ('M', 'm' ), '', @ini_get( 'upload_max_filesize' ) ) . 'M';
	$info['tsue_version'] = "10.12-beta";
	$info['max_ram'] =  (@ini_get( 'memory_limit' ) != '') ? @ini_get( 'memory_limit' ) : $lang['undefined'];
	
	$info_table = '<h2><em title="Author: Skalden Russell">'. $language['inf_maintxt'] .'</em></h2>
	<table width="100%" style=" border: 1px solid #009900; padding: 5px; overflow: auto;">
				<tr>
					<td width="100%">
					<table width="100%" class="infot" style="border: 1px solid #333300; background-color: #CCFFFF; padding: 5px; overflow: auto;" >
						<tr >
							<td class="info" width="60%" align="center"><b>'. $language['inf_value'] .'</b></td> 
							<td class="info" width="40%" align="center"><b>'. $language['inf_znach'] .'</b></td>
						</tr>
						<tr>
							<td>Max upload:</td> <td align="right">'. $info['max_upload'] .'</td>
						</tr>
						<tr>
							<td>'. $language['inf_ram'] .'</td> <td align="right">'. $info['max_ram'] .'</td>
						</tr>
						<tr>
							<td>'. $language['inf_os'] .'</td> <td align="right">'. $info['os_version'] .'</td>
						</tr>
						<tr>
							<td>'. $language['inf_tsue_ver'] .'</td> <td align="right">'. $info['tsue_version'] .'</td>
						</tr>
					</table>
					</td>
				</tr>
				</table>';
} 
else 
{
	// Вітання гостя
	$info_table = '<h2><em title="Author: Skalden Russell">'. $language['enter_guesttitle'] .'</em></h2>'. $language['enter_guesttxt'];
	
}
			
// Вивід шапки
echo <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset={$CFG['charset']}" />
	<title>TSUE wEngine - $language[skin_title]</title>
	<link rel="stylesheet" type="text/css" href="styles/default/default.css">
</head>
<body>
	<div id="header">
		<h1><a href="#">$language[body_title]</a></h1>
		<ul id="menu">
			<li class="active"><a href="#">$language[about]</a></li>
			<li><a href="#">$language[help]</a></li>
			<li><a href="#">$language[contacts]</a></li>
		</ul>
	</div>

	<div id="teaser">
		<div class="wrap">
			<div id="image"></div>
			<div class="box">
			
			$info_table
				
</div>
		</div>
	</div>
	<div id="bar">
		<div class="wrap">
	
		</div>
	</div>
<!--MAIN area-->
<div class="wrap wrap_body">
HTML;

//-------------------------------------------------------------
//                  Кінець адмін панелі + модулі
//-------------------------------------------------------------

// Якщо мала місце помилка під час авторизації - показати її
if($login_incorrect === TRUE)
{
	echo <<<HTML
	<div align="center">
		<div align="left" style="width: 50%; border: 1px solid #FF3333; background-color: #FFCCCC; padding: 5px; overflow: auto;"> 
			<table>
			<tr>
				<td align="center"> 
					<img style="padding: 10px;" width="70" height="70" src="styles/default/adminpanel/images/ico/zapret.png" /> 
				</td>
				<td align="left">
					$login_error
				</td>
			</tr>
			</table>
		</div>
	</div>
HTML;
}

// Якщо ще не авторизований
if( $_SESSION['admin_loged'] !== TRUE )
{
	echo <<<HTML
	<script language="javascript" type="text/javascript">
<!--
function reload_image () 
{
	var rndval = new Date().getTime(); 
	document.getElementById('tsue_captcha').innerHTML = '<a onclick="reload_image(); return false;" href="#"><img src="engine/include/captcha.php?rndval=' + rndval + '" border="0" width="120" height="50" alt="" /><br />обновить картинку.</a>';
};
//-->
</script>
	<br />
	<form method="POST" action="{$_SERVER['PHP_SELF']}">
	<div align="center">
	<table border="0" style="border: 1px solid #333300; padding: 5px; overflow: auto; background: #FEFFF4;">
	    <tr>
		<td width="55" style="padding:5px;" rowspan="3"><img width="70" height="70" src="styles/default/adminpanel/images/ico/preduprejdenie.png" /></td>
		<td width="140" style="padding:5px;" align="right"><b> $language[enter_login]: </b></td>
		<td><input class="edit bk" type="text" name="username" value='' size="20" />&nbsp;&nbsp;</td>
	    </tr>
	    <tr>
		<td style="padding:5px;" align="right"><b> $language[enter_passw]: </b></td>
		<td><input class="edit bk" type="password" name="password" size="20" /> &nbsp;&nbsp;</td>
	    </tr>
	    <tr style=" border-bottom: 1px solid #333300;">
		<td style="padding:5px;" align="right"><b> $language[enter_choselng]: </b></td>
		<td>
			<select name="slang" >
				<option value="rulng" title="">Русский</option>
				<option value="uzlng" title="">O`zbekcha</option>
			</select>
		
		</td>
	    </tr>
	    <tr>
		<td aligh="right"></td><td></td>
		<td align="left">
			<br />
			<span id="tsue_captcha">
				<a onclick="reload_image(); return false;" href="#">
					<img src="engine/include/captcha.php" border="0" alt="Включите эту картинку для отображения кода безопасности" />
					<br />
					Обновить картинку.
				</a>
			</span>
			<br /><br />
			<b>Введите код с картинки</b>&nbsp;
			<br />
			<input type="text" name="securitykey" class="edit bk" />
			<br /><br />
			<input type="submit" class="edit" name="login_btn" value="&nbsp; $language[enter_enterb] &nbsp;" /><br />&nbsp;
		</td>
	    </tr>
	</table>
	</div>
	</form>
	<br /><br />
HTML;
} 
else // Адміністратор авторизувався
{

	// Завантаження модулів, і керування категоріями
	switch( $_GET['section'] )
	{
		// Модуль редагування новин
		case "mainnews":
			include_once( TSUE_DIR . '/engine/adminpanel/mainnews.php');
		break;

		// Модуль керування користувачами
		case "users":
			include_once( TSUE_DIR . '/engine/adminpanel/users.php');
		break;
		
		// Вихід
		case "exit":
			include_once( TSUE_DIR . '/engine/adminpanel/exit.php' );
		break;
		
		// Модуль зворотнього зв'язку
		case "feedback":
			include_once( TSUE_DIR . '/engine/adminpanel/feedback.php' );
		break;
		
		// Модуль керування категоріями
		case "category":
			include_once( TSUE_DIR . '/engine/adminpanel/category.php' );
		break;
		
		// Модуль керування матеріалами
		case "material":
			include_once( TSUE_DIR . '/engine/adminpanel/material.php' );
		break;
		
		// Модуль налаштування системи
		case "settingup":
			include_once( TSUE_DIR . '/engine/adminpanel/settings.php' );
		break;
		
		// Вивід списку розділів, інформації
		default:
			include_once( TSUE_DIR . '/engine/adminpanel/controlpanel.php' );
	}
	

}


//-------------------------------------------------------------
//                 Кінець контенту адмін панелі
//-------------------------------------------------------------



// Вивід футера
echo <<<HTML
</div>
	<div id="footer">
		<p>&copy; $language[copyright]</p>
	</div>
</body>
</html>
HTML;

?>